home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / alsa / input.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  3KB  |  84 lines

  1. /**
  2.  * \file include/input.h
  3.  * \brief Application interface library for the ALSA driver
  4.  * \author Jaroslav Kysela <perex@suse.cz>
  5.  * \author Abramo Bagnara <abramo@alsa-project.org>
  6.  * \author Takashi Iwai <tiwai@suse.de>
  7.  * \date 1998-2001
  8.  *
  9.  * Application interface library for the ALSA driver
  10.  */
  11. /*
  12.  *   This library is free software; you can redistribute it and/or modify
  13.  *   it under the terms of the GNU Lesser General Public License as
  14.  *   published by the Free Software Foundation; either version 2.1 of
  15.  *   the License, or (at your option) any later version.
  16.  *
  17.  *   This program is distributed in the hope that it will be useful,
  18.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *   GNU Lesser General Public License for more details.
  21.  *
  22.  *   You should have received a copy of the GNU Lesser General Public
  23.  *   License along with this library; if not, write to the Free Software
  24.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  25.  *
  26.  */
  27.  
  28. #ifndef __ALSA_INPUT_H
  29. #define __ALSA_INPUT_H
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. /**
  36.  *  \defgroup Input Input Interface
  37.  *
  38.  *  The input functions present an interface similar to the stdio functions
  39.  *  on top of different underlying input sources.
  40.  *
  41.  *  The #snd_config_load function uses such an input handle to be able to
  42.  *  load configurations not only from standard files but also from other
  43.  *  sources, e.g. from memory buffers.
  44.  *
  45.  *  \{
  46.  */
  47.  
  48. /**
  49.  * \brief Internal structure for an input object.
  50.  *
  51.  * The ALSA library uses a pointer to this structure as a handle to an
  52.  * input object. Applications don't access its contents directly.
  53.  */
  54. typedef struct _snd_input snd_input_t;
  55.  
  56. /** Input type. */
  57. typedef enum _snd_input_type {
  58.     /** Input from a stdio stream. */
  59.     SND_INPUT_STDIO,
  60.     /** Input from a memory buffer. */
  61.     SND_INPUT_BUFFER
  62. } snd_input_type_t;
  63.  
  64. int snd_input_stdio_open(snd_input_t **inputp, const char *file, const char *mode);
  65. int snd_input_stdio_attach(snd_input_t **inputp, FILE *fp, int _close);
  66. int snd_input_buffer_open(snd_input_t **inputp, const char *buffer, ssize_t size);
  67. int snd_input_close(snd_input_t *input);
  68. int snd_input_scanf(snd_input_t *input, const char *format, ...)
  69. #ifndef DOC_HIDDEN
  70.     __attribute__ ((format (scanf, 2, 3)))
  71. #endif
  72.     ;
  73. char *snd_input_gets(snd_input_t *input, char *str, size_t size);
  74. int snd_input_getc(snd_input_t *input);
  75. int snd_input_ungetc(snd_input_t *input, int c);
  76.  
  77. /** \} */
  78.  
  79. #ifdef __cplusplus
  80. }
  81. #endif
  82.  
  83. #endif /* __ALSA_INPUT_H */
  84.